#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/stat.h>


int main(void){
  printf("有名管道接收端，准备接收数据:\n");
  char *fifo_path="myfifo"; // 有名管道要操作的文件

  // 打开有名管道，进行读取操作
  int fd = open(fifo_path,O_RDONLY); // 只读模式
  if(fd==-1){
    perror("open");
    exit(EXIT_FAILURE);
  }
  char read_buf[100];
  ssize_t read_num;
  // 从有名读取对方发送过来的数据
  while((read_num=read(fd,read_buf,100))>0){
    // 将读取的数据，打印到自己的控制他
    write(STDOUT_FILENO,read_buf,read_num);
  }
  // 发送方结束发送后，操作结束
  printf("接收管道退出，进程终止\n");  
  close(fd);
  return 0;
}